Method and system for generation and playback of supplemented videos

ABSTRACT

The present invention is a method and system for generation and playback of supplemented videos which include interactive features. The supplemented video includes hotspots that allow a video viewer to interact with the video when the video viewer sees an object. The hotspots can be manually defined. Information regarding the object and the hotspot can be stored in a separate XML file. Furthermore, the present invention can be a marketplace where a desired object can be found by searching the XML file. The search results can list the supplemented videos which contain hotspots corresponding to the object and also the time in the supplemented video in which the object is found. The present invention can also aggregate data about the objects based on the playback of the supplemented videos and the video viewer&#39;s interaction with the supplemented videos.

RELATED APPLICATIONS

The present application claims the benefit of U.S. Provisional PatentApplication No. 61/050,206 entitled “HOT CLICK VIDEO” filed May 3, 2008,which is expressly incorporated by reference herein.

BACKGROUND

1. Field

The present invention relates to the supplementation of videos, and moreparticularly, to a method and system for generation and playback ofsupplemented videos.

2. Related Art

Modern consumers are becoming progressively more sophisticated. As aresult, individuals and companies attempting to generate interest andsales in their products are relying upon very specific target marketingto attract their desired target customers. Similarly, customers aredemanding more exciting and entertaining sales methods from individualsand companies selling products. In addition, advertising has begun to bedelivered on an ever-expanding number of platforms. Both individuals andcompanies attempting to sell products and consumers looking for moreentertaining advertisements and more convenience in viewing suchadvertisements are finding that point of interaction devices (which willbe described later) are becoming an attractive vehicle to deliver andview such advertisements and conduct business.

Video files, whether delivered to a television, computer, or a mobiledevice, currently allow a potential customer to view an object in thevideo file for purchase or receive more information. Interacting withthe video files, however, can often stop the playback of the video file.In certain cases, the video file may become unstable or crash. From thepotential customer's perspective, this interruption to the playback ofthe video file can be frustrating. When the playback of the video fileis restored, the potential customer may not want or remember to purchasethe object in the video file. Furthermore, the potential customer maynot even resume playback of the video file. This can result in lostsales of the object in the video file.

The video files may also contain incorrect or obsolete information sothat when the potential customer attempts to purchase the object, theobject is not the object that the user wanted to purchase or the objectis out-of-stock. In such cases, the potential customer may not onlyrefrain from purchasing the object, but also have a strong resentmenttowards the merchant selling the product and/or the video producer.

To correct errors in the video files or update the video files, a videoproducer will have to re-generate the video including the interactivefeatures. However, such a process is usually cumbersome andcost-prohibitive. Thus, the video producer may only be able to make fewcorrections and/or provide few updates to the video files. Such optionsare undesirable since incorrect information or other problems with thevideo file may reduce a popularity of the video file. This can impactany advertisement revenues the distributor receives from the video file.From a merchant's perspective, the foregoing events are problematicsince it wants to sell the objects and any loss of sales can impact thecommercial viability of the merchant.

Furthermore, current data collection methods and systems are inadequatefor determining viewer demographics of the video file and/or apopularity of the objects located within the video file.

Thus, there is a need for a more efficient method and system forgeneration and playback of supplemented videos which include interactivefeatures.

SUMMARY

The present invention is a method and system for generation and playbackof supplemented videos which include interactive features. Thesupplemented video includes hotspots which allow a video viewer tointeract with the video when the video viewer sees an object. The objectin the supplemented video can be an object that the video viewer wouldlike to know more information about or purchase. This allows for thevideo viewer to purchase or learn more about objects while thesupplemented video is playing instead of waiting until the supplementedvideo has completed playback. The hotspots can be manually defined frameby frame.

Information regarding the object and the hotspot can be stored in aseparate XML file, reducing the size of the supplemented video. Theseparate XML file allows the video producer to produce multipleinteractive versions of the supplemented video and customize thesupplemented video to the video viewer without re-generating thesupplemented video. Furthermore, the separate XML file allows the videoproducer to correct any mistakes to the interactive informationregarding the object or update the interactive information regarding theobject.

The separate XML file also allows an appropriate advertisement or videoadvertisement to easily be found corresponding to one or more of thehotspots in the supplemented video. Since the XML file can be updated toreflect the latest information regarding the object, the advertisementscan be customized to better target a desired audience.

Furthermore, the present invention can be a marketplace where a desiredobject can be found by searching the XML file. The search results canlist the supplemented videos which contain hotspots corresponding to theobject and also the time in the supplemented video in which the objectis found. This can allow the video viewer to more easily find thesupplemented videos with objects that he is interested in.

The present invention can also aggregate data about the objects based onthe playback of the supplemented videos and the video viewer'sinteraction with the supplemented videos. This can provide a betterunderstanding of a popularity of an object and allow for bettermarketing and/or branding strategy by the object producer and/or seller.

In one embodiment, the present invention is a method for generating asecond video file including receiving a first video file, receiving adefinition of a hotspot, receiving caption information corresponding tothe hotspot, storing the caption information in a first data storagearea, adding the definition of the hotspot to the first video file tocreate a second video file, and storing the second video file in asecond data storage area.

In one embodiment, the present invention is a method for displaying avideo including displaying the video in a display, where the videoincludes a hotspot. The present invention also includes detecting anaction on the hotspot, accessing a first data storage area, wherein thefirst data storage area is separate from the video and the first datastorage area includes hotspot information corresponding to the hotspot,and displaying the hotspot information on the display.

In one embodiment, the present invention is a method for generating avideo widget including accessing a video file, wherein the video fileincludes a hotspot, accessing a first data storage area, wherein thefirst data storage area is separate from the video file and the firstdata storage area includes a hotspot information corresponding to thehotspot, and adding the hotspot information to the video file to createa video widget which can display the hotspot information.

In one embodiment, the present invention is a method for generating arevenue report including displaying a video, detecting an action of ahotspot in the video, incrementing an action count when the action isdetected, and generating the revenue report based on the action count.

In one embodiment, the present invention is a method for displayingadvertisements in a video including analyzing a hotspot informationcorresponding to a hotspot in a first data storage area separate from avideo including the hotspot to determine an advertisement correspondingto the hotspot, displaying the video, and displaying the advertisementcorresponding to the hotspot when the hotspot appears in the video.

In one embodiment, the present invention is a computer implementedmethod for displaying advertisements in a video including analyzinghotspot information corresponding to a plurality of hotspots in a firstdata storage area separate from a video including the plurality ofhotspots to determine an advertisement to be displayed, displaying theadvertisement, and displaying the video after the advertisement isdisplayed.

In one embodiment, the present invention is an electronic marketplacesystem including a processor, a search unit connected to the processorto search for videos including hotspots, and a memory unit connected tothe processor and the search unit, the memory unit storing the videosincluding hotspots.

In one embodiment, the present invention is a method for providing alist of videos including receiving, by a search unit, a search queryassociated with an object, performing, using the search unit, a searchbased on the search query to identify videos including hotspots andassociated with the object, and providing, using the search unit, thelist of the videos including hotspots and associated with the object.

BRIEF DESCRIPTION OF THE DRAWINGS

The features, objects, and advantages of the present invention willbecome more apparent from the detailed description set forth below whentaken in conjunction with the drawings, wherein:

FIG. 1 is a box diagram of a system used in the present invention;

FIG. 2 is a box diagram of an electronic device used in the presentinvention;

FIG. 3 is a flowchart of a method for producing a supplemented videoaccording to an embodiment of the present invention;

FIG. 4 is a screen shot of a video file that is being tagged with ahotspot according to an embodiment of the present invention;

FIG. 5 is a screen shot of a video file that is being tagged with ahotspot according to an embodiment of the present invention;

FIG. 6 is a screen shot of a video file that is being tagged with ahotspot according to an embodiment of the present invention;

FIG. 7 is an XML file according to an embodiment of the presentinvention;

FIG. 8 is an action script according to an embodiment of the presentinvention;

FIG. 9 is a flow chart for a method of playing a supplemented videoaccording to an embodiment of the present invention;

FIG. 10 is a flow chart of the processor operation during a playback ofa supplemented video according to an embodiment of the presentinvention;

FIG. 11 is a screen shot of a playback of a supplemented video accordingto an embodiment of the present invention;

FIG. 12 is a screen shot of a playback of a supplemented video accordingto an embodiment of the present invention;

FIG. 13 is a screen shot of a playback of a supplemented video accordingto an embodiment of the present invention;

FIG. 14 is a screen shot of a playback of a supplemented video accordingto an embodiment of the present invention;

FIG. 15 is a screen shot of a playback of a supplemented video accordingto an embodiment of the present invention;

FIG. 16 is a flow chart for a method of generating a widget according toan embodiment of the present invention according to an embodiment of thepresent invention;

FIG. 17 is a flow chart of a method for generating revenue during aplayback of a supplemented video according to an embodiment of thepresent invention;

FIG. 18 is a flow chart of a method for generating advertisementscorresponding to hotspots in a supplemented video according to anembodiment of the present invention;

FIG. 19 is a flow chart of a method for generating video advertisementscorresponding to hotspots in a supplemented video according to anembodiment of the present invention;

FIG. 20 is a box diagram of a marketplace according to an embodiment ofthe present invention;

FIG. 21 is a screenshot of a marketplace interface according to anembodiment of the present invention;

FIG. 22 is a flow chart of method for searching for an object in aplurality of supplemented videos according to an embodiment of thepresent invention; and

FIG. 23 is a flow chart of a method for generating a report regarding apopularity of an object according to an embodiment of the presentinvention.

DETAILED DESCRIPTION

The detailed description of exemplary embodiments herein makes referenceto the accompanying drawings and pictures, which show the exemplaryembodiment by way of illustration and its best mode. While theseexemplary embodiments are described in sufficient detail to enable thoseskilled in the art to practice the invention, it should be understoodthat other embodiments may be realized and that logical and mechanicalchanges may be made without departing from the spirit and scope of theinvention. Thus, the detailed description herein is presented forpurposes of illustration only and not of limitation. For example, thesteps recited in any of the method or process descriptions may beexecuted in any order and are not limited to the order presented.Moreover, any of the functions or steps may be outsourced to orperformed by one or more third parties. Furthermore, any reference tosingular includes plural embodiments, and any reference to more than onecomponent may include a singular embodiment.

For the sake of brevity, conventional data networking, applicationdevelopment and other functional aspects of the systems (and componentsof the individual operating components of the systems) may not bedescribed in detail herein. Furthermore, the connecting lines shown inthe various figures contained herein are intended to represent exemplaryfunctional relationships and/or physical couplings between the variouselements. It should be noted that many alternative or additionalfunctional relationships or physical connections may be present in apractical system.

The various system components discussed herein may include one or moreof the following: a host server or other computing systems including aprocessor for processing digital data; a memory coupled to the processorfor storing digital data; an input digitizer coupled to the processorfor inputting digital data; an application program stored in the memoryand accessible by the processor for directing processing of digital databy the processor; a display device coupled to the processor and memoryfor displaying information derived from digital data processed by theprocessor; and a plurality of databases. Various databases used hereinmay include: client data; merchant data; financial institution data;and/or like data useful in the operation of the system. As those skilledin the art will appreciate, a user computer may include an operatingsystem (e.g., Windows NT, 95/98/2000, CE, Mobile, XP, Vista, OS2, UNIX,Linux, Solaris, MacOS, etc.) as well as various conventional supportsoftware and drivers typically associated with computers. A user mayinclude any individual, business, entity, government organization,software and/or hardware that interact with a system. A web clientincludes any device (e.g., personal computer) which communicates via anynetwork, for example such as those discussed herein. Such browserapplications comprise Internet browsing software installed within acomputing unit or a system to conduct online transactions and/orcommunications. These computing units or systems may take the form of acomputer or set of computers, although other types of computing units orsystems may be used, including laptops, notebooks, hand held computers,personal digital assistants, set-top boxes, workstations,computer-servers, main frame computers, mini-computers, PC servers,pervasive computers, network sets of computers, and/or the like.Practitioners will appreciate that a web client may or may not be indirect contact with an application server. For example, a web client mayaccess the services of an application server through another serverand/or hardware component, which may have a direct or indirectconnection to an Internet server. For example, a web client maycommunicate with an application server via a load balancer. In anexemplary embodiment, access is through a network or the Internetthrough a commercially-available web-browser software package.

As those skilled in the art will appreciate, a web client includes anoperating system (e.g., Windows NT, 95/98/2000, CE, Mobile, XP, Vista,OS2, UNIX, Linux, Solaris, MacOS, PalmOS, etc.) as well as variousconventional support software and drivers typically associated withcomputers. A web client may include any suitable personal computer,network computer, workstation, personal digital assistant, cellularphone, smart phone, minicomputer, mainframe or the like. A web clientcan be in a home or business environment with access to a network. In anexemplary embodiment, access is through a network or the Internetthrough a commercially available web-browser software package. A webclient may implement security protocols such as Secure Sockets Layer(SSL) and Transport Layer Security (TLS). A web client may implementseveral application layer protocols including http, https, ftp, andsftp.

As used herein, the term “network” includes any electroniccommunications system or method which incorporates hardware and/orsoftware components. Communication among the parties may be accomplishedthrough any suitable communication channels, such as, for example, atelephone network, an extranet, an intranet, Internet, point ofinteraction device (point of sale device, personal digital assistant(e.g., Palm Pilot®, Blackberry®), cellular phone, kiosk, etc.), onlinecommunications, satellite communications, off-line communications,wireless communications, transponder communications, local area network(LAN), wide area network (WAN), virtual private network (VPN), networkedor linked devices, keyboard, mouse and/or any suitable communication ordata input modality. Moreover, although the system is frequentlydescribed herein as being implemented with TCP/IP communicationsprotocols, the system may also be implemented using IPX, Appletalk,IP-6, NetBIOS, OSI, any tunneling protocol (e.g. IPsec, SSH), or anynumber of existing or future protocols. If the network is in the natureof a public network, such as the Internet, it may be advantageous topresume the network to be insecure and open to eavesdroppers. Specificinformation related to the protocols, standards, and applicationsoftware utilized in connection with the Internet is generally known tothose skilled in the art and, as such, need not be detailed herein. See,for example, DILIP NAIK, INTERNET STANDARDS AND PROTOCOLS (1998); JAVA 2COMPLETE, various authors, (Sybex 1999); DEBORAH RAY AND ERIC RAY,MASTERING HTML 4.0 (1997); and LOSHIN, TCP/IP CLEARLY EXPLAINED (1997)and DAVID GOURLEY AND BRIAN TOTTY, HTTP, THE DEFINITIVE GUIDE (2002),the contents of which are hereby incorporated by reference.

The various system components may be independently, separately orcollectively suitably coupled to the network via data links whichincludes, for example, a connection to an Internet Service Provider(ISP) over the local loop as is typically used in connection withstandard modem communication, cable modem, Dish networks, ISDN, DigitalSubscriber Line (DSL), or various wireless communication methods, see,e.g., GILBERT HELD, UNDERSTANDING DATA COMMUNICATIONS (1996), which ishereby incorporated by reference. It is noted that the network may beimplemented as other types of networks, such as an interactivetelevision (ITV) network. Moreover, the system contemplates the use,sale or distribution of any goods, services or information over anynetwork having similar functionality described herein.

As used herein, “transmit” may include sending electronic data from onesystem component to another over a network connection. Additionally, asused herein, “data” may include encompassing information such ascommands, queries, files, data for storage, and the like in digital orany other form

The system contemplates uses in association with web services, utilitycomputing, pervasive and individualized computing, security and identitysolutions, autonomic computing, commodity computing, mobility andwireless solutions, open source, biometrics, grid computing and/or meshcomputing.

Any databases discussed herein may include relational, hierarchical,graphical, or object-oriented structure and/or any other databaseconfigurations. Common database products that may be used to implementthe databases include DB2 by IBM (Armonk, N.Y.), various databaseproducts available from Oracle Corporation (Redwood Shores, Calif.),Microsoft Access or Microsoft SQL Server by Microsoft Corporation(Redmond, Wash.), MySQL by MySQL AB (Uppsala, Sweden), or any othersuitable database product. Moreover, the databases may be organized inany suitable manner, for example, as data tables or lookup tables. Eachrecord may be a single file, a series of files, a linked series of datafields or any other data structure. Association of certain data may beaccomplished through any desired data association technique such asthose known or practiced in the art. For example, the association may beaccomplished either manually or automatically. Automatic associationtechniques may include, for example, a database search, a databasemerge, GREP, AGREP, SQL, using a key field in the tables to speedsearches, sequential searches through all the tables and files, sortingrecords in the file according to a known order to simplify lookup,and/or the like. The association step may be accomplished by a databasemerge function, for example, using a “key field” in pre-selecteddatabases or data sectors. Various database tuning steps arecontemplated to optimize database performance. For example, frequentlyused files such as indexes may be placed on separate file systems toreduce In/Out (“I/O”) bottlenecks.

More particularly, a “key field” partitions the database according tothe high-level class of objects defined by the key field. For example,certain types of data may be designated as a key field in a plurality ofrelated data tables and the data tables may then be linked on the basisof the type of data in the key field. The data corresponding to the keyfield in each of the linked data tables is preferably the same or of thesame type. However, data tables having similar, though not identical,data in the key fields may also be linked by using AGREP, for example.In accordance with one embodiment, any suitable data storage techniquemay be utilized to store data without a standard format. Data sets maybe stored using any suitable technique, including, for example, storingindividual files using an ISO/IEC 7816-4 file structure; implementing adomain whereby a dedicated file is selected that exposes one or moreelementary files containing one or more data sets; using data setsstored in individual files using a hierarchical filing system; data setsstored as records in a single file (including compression, SQLaccessible, hashed via one or more keys, numeric, alphabetical by firsttuple, etc.); Binary Large Object (BLOB); stored as ungrouped dataelements encoded using ISO/IEC 7816-6 data elements; stored as ungroupeddata elements encoded using ISO/IEC Abstract Syntax Notation (ASN.1) asin ISO/IEC 8824 and 8825; and/or other proprietary techniques that mayinclude fractal compression methods, image compression methods, etc.

In one exemplary embodiment, the ability to store a wide variety ofinformation in different formats is facilitated by storing theinformation as a BLOB. Thus, any binary information can be stored in astorage space associated with a data set. As discussed above, the binaryinformation may be stored on the financial transaction instrument orexternal to but affiliated with the financial transaction instrument.The BLOB method may store data sets as ungrouped data elements formattedas a block of binary via a fixed memory offset using either fixedstorage allocation, circular queue techniques, or best practices withrespect to memory management (e.g., paged memory, least recently used,etc.). By using BLOB methods, the ability to store various data setsthat have different formats facilitates the storage of data associatedwith the financial transaction instrument by multiple and unrelatedowners of the data sets. For example, a first data set which may bestored may be provided by a first party, a second data set which may bestored may be provided by an unrelated second party, and yet a thirddata set which may be stored, may be provided by an third partyunrelated to the first and second party. Each of these three exemplarydata sets may contain different information that is stored usingdifferent data storage formats and/or techniques. Further, each data setmay contain subsets of data that also may be distinct from othersubsets.

The data set annotation may also be used for other types of statusinformation as well as various other purposes. For example, the data setannotation may include security information establishing access levels.The access levels may, for example, be configured to permit only certainindividuals, levels of employees, companies, or other entities to accessdata sets, or to permit access to specific data sets based on thetransaction, merchant, issuer, user or the like. Furthermore, thesecurity information may restrict/permit only certain actions such asaccessing, modifying, and/or deleting data sets. In one example, thedata set annotation indicates that only the data set owner or the userare permitted to delete a data set, various identified users may bepermitted to access the data set for reading, and others are altogetherexcluded from accessing the data set. However, other access restrictionparameters may also be used allowing various entities to access a dataset with various permission levels as appropriate.

The data, including the header or trailer may be received by a standalone interaction device configured to add, delete, modify, or augmentthe data in accordance with the header or trailer. As such, in oneembodiment, the header or trailer is not stored on the transactiondevice along with the associated issuer-owned data but instead theappropriate action may be taken by providing to the transactioninstrument user at the stand alone device, the appropriate option forthe action to be taken. The system may contemplate a data storagearrangement wherein the header or trailer, or header or trailer history,of the data is stored on the transaction instrument in relation to theappropriate data.

One skilled in the art will also appreciate that, for security reasons,any databases, systems, devices, servers or other components of thesystem may consist of any combination thereof at a single location or atmultiple locations, wherein each database or system includes any ofvarious suitable security features, such as firewalls, access codes,encryption, decryption, compression, decompression, and/or the like.

The computing unit of the web client may be further equipped with anInternet browser connected to the Internet or an intranet using standarddial-up, cable, DSL or any other Internet protocol known in the art.Transactions originating at a web client may pass through a firewall inorder to prevent unauthorized access from users of other networks.Further, additional firewalls may be deployed between the varyingcomponents of CMS to further enhance security.

Firewall may include any hardware and/or software suitably configured toprotect CMS components and/or enterprise computing resources from usersof other networks. Further, a firewall may be configured to limit orrestrict access to various systems and components behind the firewallfor web clients connecting through a web server. Firewall may reside invarying configurations including Stateful Inspection, Proxy based,access control lists, and Packet Filtering among others. Firewall may beintegrated within a Web server or any other CMS components or mayfurther reside as a separate entity. A firewall may implement networkaddress translation (“NAT”) and/or network address port translation(“NAPT”). A firewall may accommodate various tunneling protocols tofacilitate secure communications, such as those used in virtual privatenetworking. A firewall may implement a demilitarized zone (“DMZ”) tofacilitate communications with a public network such as the Internet. Afirewall may be integrated as software within an Internet server, anyother application server components or may reside within anothercomputing device or may take the form of a standalone hardwarecomponent.

The computers discussed herein may provide a suitable Web site or otherInternet-based graphical user interface which is accessible by users. Inone embodiment, the Microsoft Internet Information Server (IIS),Microsoft Transaction Server (MTS), and Microsoft SQL Server, are usedin conjunction with the Microsoft operating system, Microsoft NT webserver software, a Microsoft SQL Server database system, and a MicrosoftCommerce Server. Additionally, components such as Access or MicrosoftSQL Server, Oracle, Sybase, Informix MySQL, Interbase, etc., may be usedto provide an Active Data Object (ADO) compliant database managementsystem. In one embodiment, the Apache web server is used in conjunctionwith a Linux operating system, a MySQL database, and the Perl, PHP,and/or Python programming languages.

Any of the communications, inputs, storage, databases or displaysdiscussed herein may be facilitated through a website having web pages.The term “web page” as it is used herein is not meant to limit the typeof documents and applications that might be used to interact with theuser. For example, a typical website might include, in addition tostandard HTML documents, various forms, Java applets, JavaScript, activeserver pages (ASP), common gateway interface scripts (CGI), extensiblemarkup language (XML), dynamic HTML, cascading style sheets (CSS), AJAX(Asynchronous Javascript And XML), helper applications, plug-ins, andthe like. A server may include a web service that receives a requestfrom a web server, the request including a URL(http://yahoo.com/stockquotes/ge) and an IP address (123.56.789.234).The web server retrieves the appropriate web pages and sends the data orapplications for the web pages to the IP address. Web services areapplications that are capable of interacting with other applicationsover a communications means, such as the internet. Web services aretypically based on standards or protocols such as XML, SOAP, AJAX, WSDLand UDDI. Web services methods are well known in the art, and arecovered in many standard texts. See, e.g., ALEX NGHIEM, IT WEB SERVICES:A ROADMAP FOR THE ENTERPRISE (2003), hereby incorporated by reference.

Middleware may include any hardware and/or software suitably configuredto facilitate communications and/or process transactions betweendisparate computing systems. Middleware components are commerciallyavailable and known in the art. Middleware may be implemented throughcommercially available hardware and/or software, through custom hardwareand/or software components, or through a combination thereof. Middlewaremay reside in a variety of configurations and may exist as a standalonesystem or may be a software component residing on the Internet server.Middleware may be configured to process transactions between the variouscomponents of an application server and any number of internal orexternal systems for any of the purposes disclosed herein. WebSphereMQTM (formerly MQSeries) by IBM, Inc. (Armonk, N.Y.) is an example of acommercially available middleware product. An Enterprise Service Bus(“ESB”) application is another example of middleware.

Practitioners will also appreciate that there are a number of methodsfor displaying data within a browser-based document. Data may berepresented as standard text or within a fixed list, scrollable list,drop-down list, editable text field, fixed text field, pop-up window,and the like. Likewise, there are a number of methods available formodifying data in a web page such as, for example, free text entry usinga keyboard, selection of menu items, check boxes, option boxes, and thelike.

The system and method may be described herein in terms of functionalblock components, screen shots, optional selections and variousprocessing steps. It should be appreciated that such functional blocksmay be realized by any number of hardware and/or software componentsconfigured to perform the specified functions. For example, the systemmay employ various integrated circuit components, e.g., memory elements,processing elements, logic elements, look-up tables, and the like, whichmay carry out a variety of functions under the control of one or moremicroprocessors or other control devices. Similarly, the softwareelements of the system may be implemented with any programming orscripting language such as C, C++, C#, Java, JavaScript, VBScript,Macromedia Cold Fusion, COBOL, Microsoft Active Server Pages, assembly,PERL, PHP, awk, Python, Visual Basic, SQL Stored Procedures, PL/SQL, anyUNIX shell script, and extensible markup language (XML) with the variousalgorithms being implemented with any combination of data structures,objects, processes, routines or other programming elements. Further, itshould be noted that the system may employ any number of conventionaltechniques for data transmission, signaling, data processing, networkcontrol, and the like. Still further, the system could be used to detector prevent security issues with a client-side scripting language, suchas JavaScript, VBScript or the like. For a basic introduction ofcryptography and network security, see any of the following references:(1) “Applied Cryptography: Protocols, Algorithms, And Source Code In C,”by Bruce Schneier, published by John Wiley & Sons (second edition,1995); (2) “Java Cryptography” by Jonathan Knudson, published byO'Reilly & Associates (1998); (3) “Cryptography & Network Security:Principles & Practice” by William Stallings, published by Prentice Hall;all of which are hereby incorporated by reference.

Moreover, the system, computing unit or device discussed herein mayinclude a “pervasive computing device,” which may include atraditionally non-computerized device that is embedded with a computingunit. Examples can include watches, Internet enabled kitchen appliances,restaurant tables embedded with RF readers, wallets or purses withimbedded transponders, etc.

As will be appreciated by one of ordinary skill in the art, the systemmay be embodied as a customization of an existing system, an add-onproduct, upgraded software, a stand alone system, a distributed system,a method, a data processing system, a device for data processing, and/ora computer program product. Accordingly, the system may take the form ofan entirely software embodiment, an entirely hardware embodiment, or anembodiment combining aspects of both software and hardware. Furthermore,the system may take the form of a computer program product on acomputer-readable storage medium having computer-readable program codemeans embodied in the storage medium. Any suitable computer-readablestorage medium may be utilized, including hard disks, CD-ROM, opticalstorage devices, magnetic storage devices, and/or the like.

The system and method is described herein with reference to screenshots, block diagrams and flowchart illustrations of methods, apparatus(e.g., systems), and computer program products according to variousembodiments. It will be understood that each functional block of theblock diagrams and the flowchart illustrations, and combinations offunctional blocks in the block diagrams and flowchart illustrations,respectively, can be implemented by computer program instructions.

These computer program instructions may be loaded onto a general purposecomputer, special purpose computer, or other programmable dataprocessing apparatus to produce a machine, such that the instructionsthat execute on the computer or other programmable data processingapparatus create means for implementing the functions specified in theflowchart block or blocks. These computer program instructions may alsobe stored in a computer-readable memory that can direct a computer orother programmable data processing apparatus to function in a particularmanner, such that the instructions stored in the computer-readablememory produce an article of manufacture including instruction meanswhich implement the function specified in the flowchart block or blocks.The computer program instructions may also be loaded onto a computer orother programmable data processing apparatus to cause a series ofoperational steps to be performed on the computer or other programmableapparatus to produce a computer-implemented process such that theinstructions which execute on the computer or other programmableapparatus provide steps for implementing the functions specified in theflowchart block or blocks.

Accordingly, functional blocks of the block diagrams and flowchartillustrations support combinations of means for performing the specifiedfunctions, combinations of steps for performing the specified functions,and program instruction means for performing the specified functions. Itwill also be understood that each functional block of the block diagramsand flowchart illustrations, and combinations of functional blocks inthe block diagrams and flowchart illustrations, can be implemented byeither special purpose hardware-based computer systems which perform thespecified functions or steps, or suitable combinations of specialpurpose hardware and computer instructions. Further, illustrations ofthe process flows and the descriptions thereof may make reference touser windows, Web pages, Web sites, Web forms, prompts, etc.Practitioners will appreciate that the illustrated steps describedherein may comprise in any number of configurations including the use ofwindows, Web pages, Web forms, popup windows, prompts and the like. Itshould be further appreciated that the multiple steps as illustrated anddescribed may be combined into single Web pages and/or windows but havebeen expanded for the sake of simplicity. In other cases, stepsillustrated and described as single process steps may be separated intomultiple Web pages and/or windows but have been combined for simplicity.

Benefits, other advantages, and solutions to problems have beendescribed herein with regard to specific embodiments. However, thebenefits, advantages, solutions to problems, and any elements that maycause any benefit, advantage, or solution to occur or become morepronounced are not to be construed as critical, required, or essentialfeatures or elements of the invention. The scope of the invention isaccordingly to be limited by nothing other than the appended claims, inwhich reference to an element in the singular is not intended to mean“one and only one” unless explicitly so stated, but rather “one ormore.” Moreover, where a phrase similar to “at least one of A, B, and C”is used in the claims, it is intended that the phrase be interpreted tomean that A alone may be present in an embodiment, B alone may bepresent in an embodiment, C alone may be present in an embodiment, orthat any combination of the elements A, B and C may be present in asingle embodiment; for example, A and B, A and C, B and C, or A and Band C. Although the invention has been described as a method, it iscontemplated that it may be embodied as computer program instructions ona tangible computer-readable carrier, such as a magnetic or opticalmemory or a magnetic or optical disk. All structural, chemical, andfunctional equivalents to the elements of the above-described exemplaryembodiments that are known to those of ordinary skill in the art areexpressly incorporated herein by reference and are intended to beencompassed by the present claims. Moreover, it is not necessary for adevice or method to address each and every problem sought to be solvedby the present invention, for it to be encompassed by the presentclaims. Furthermore, no element, component, or method step in thepresent disclosure is intended to be dedicated to the public regardlessof whether the element, component, or method step is explicitly recitedin the claims. No claim element herein is to be construed under theprovisions of 35 U.S.C. 112, sixth paragraph, unless the element isexpressly recited using the phrase “means for.” As used herein, theterms “comprises,” “comprising,” or any other variation thereof, areintended to cover a non-exclusive inclusion, such that a process,method, article, or apparatus that comprises a list of elements does notinclude only those elements but may include other elements not expresslylisted or inherent to such process, method, article, or apparatus.

The present invention is directed towards the generation and playback ofsupplemented videos including hotspots. The present invention isbeneficial to video producers, video viewers, and third parties such assellers and/or producers of objects in the supplemented videos. Thepresent invention allows video producers to produce supplemented videoswhich are interactive, updated, and customizable. The present inventionalso allows video viewers to interact with the supplemented videos orfind supplemented videos including objects of interest. The videoviewers can easily learn more about or purchase the objects in thesupplemented videos in a convenient and simple manner without waitingfor the supplemented video to finish playing. Furthermore, the presentinvention allows third parties such as sellers and/or producers of theobjects in the supplemented videos, to sell the objects, provideadvertisements, market the objects, gain data regarding the objects,and/or perform other functionality related to the object. The features,advantages, and benefits of the present invention will be more fullydescribed below.

As seen in FIG. 1, the present invention can be embodied in a system100. The system 100 includes one or more servers 102 and one or moreclients 106. The servers 102 and the clients 106 can be connected, forexample, by the Internet 104. The servers 102 and/or the clients 106 canbe, for example, a computer, a mobile phone, a Blackberry®, an iPhone®,a personal digital assistant, or a laptop.

Both the servers 102 and/or the clients 106 can each be embodied as anelectronic device 200 as shown in FIG. 2. A processor 202 is connectedto a memory 206, an encoder/decoder 208, and a display 214. Theprocessor 202 can perform video processing, data processing, or anyother tasks related to video or data processing. The processor 202 caninclude a cache 204. The cache 204 can be used to store video files,data related to the video files, or any other data that is related tovideo processing or data processing. The memory 206 is connected to theprocessor 202 and the encoder/decoder 208. The memory 206 can storevideo files, data related to the video files, or any other data that isrelated to video processing or data processing.

In one embodiment, the encoder/decoder 208 is connected to the memory206, the processor 202, a transmit/receive module 210, and a mediareception unit 212. The encoder/decoder 208 can receive data from thetransmit/receive module 210 or the media reception unit 212, decode thedata, and store the decoded data in the memory 206. The encoder/decoder208 can also encode data from the memory 206 and transmit the encodeddata to the transmit/receive module 210 and/or the media reception unit212.

The transmit/receive module 210 is connected to the encoder/decoder 208.The transmit/receive module 210 transmits and/or receives dataincluding, for example, encoded data. The client 106 and the server 102can communicate with each other using the transmit/receive module 210.The media reception unit 212 is connected to the encoder/decoder 208.The media reception unit 212 can accept a machine readable medium withsoftware encoded on it such as a compact disc, digital versatile disc(DVD), universal serial bus (USB) flash drive, or any other type ofmedium which can be read by a machine. The display 214 is connected tothe processor 202 and can display, for example, videos, informationrelating to the videos, or any other types of image.

Likewise, the electronic device 200 need not be embodied on a singleserver 102 or a single client 106. For example, the processor 202 andthe memory 206 can the processor 202 in the client 106 and the memory inthe client 106. However, the processor 202 and the memory 206 can alsobe the processor in the server 102 and the memory 206 in the client 106.

The present invention can also be embodied on a machine readable medium,a computer readable medium, or any other type of storage device whichstore a program and/or software which when executed, can cause aprocessor, a computer, a system, or other electronic device to performcertain functions.

In one embodiment, the present invention generates a supplemented videowith an XML file and/or an action script separate from the supplementedvideo as shown in FIG. 3. For example, the XML file can be located in afirst data storage area, the action script can be located in a seconddata storage area, and the supplemented video can be located in a thirddata storage area. The separation of the supplemented video and the XMLfile and/or the action script allows a video producer to edit thefeatures of the supplemented video without re-generating thesupplemented video as will be shown below.

In Step S302, the video producer generates a video file in a firstformat and loads the video file into the memory 206. The video producercan, for example, be an owner of the video file, an agent of the owner,or any other person with access to the video file. The video producercan also be an original video producer, or a video producer subsequentto the original video producer. In Step S304, the processor 202 convertsthe video file from a first format to a second format by accessing thevideo file in the memory 206 and optionally using the cache 204 in theprocessor 202. The second format is any format capable of playing asupplemented video. The supplemented video can be a video includinghotspots. The second format, for example, can be a flash video format.

In Step S306, the video producer defines hotspots within the video filein the second format. A hotspot corresponds to both a location and timeof an object displayed in the supplemented video that is generated. Thiscan be seen in FIGS. 4-6. In FIG. 4, the video file 300 in the secondformat, which will become the supplemented video, is shown. The videoproducer defines a motorbike 302 as part of a hotspot 304 in a firsttime period. Although the hotspot 304 is visible to the video producerduring the creation of the supplemented video as seen by the shading inFIG. 4, when the supplemented video is played back, the hotspot can beactive, but invisible to the video viewer. That is, while the videoviewer cannot see the precise location of the hotspot 304, if the videoviewer places his cursor over the hotspot 304, a rollover will bedetected. The cursor can be, for example, a mouse cursor, a placement ofan object on a touch screen, a touchpad, a keystroke pointer, or anyother type of method or apparatus which allows an indication to bedisplayed on the display 214. The rollover corresponds to the cursorbeing placed over a predefined location in the display 214. In thepresent invention, the cursor is a mouse cursor and the rollover is amouse rollover. Instructions for the situations regarding a detection ofa mouse rollover will be discussed further below.

The dimensions of the hotspot 304 can be adjusted using a hotspotdefinition tool 306. The dimensions can be, for example, a size andshape of the hotspot 304. As seen in FIG. 4 the hotspot 304 roughlyapproximates the shape of the motorbike 302. As seen in FIGS. 5 and 6,the hotspot 304 tracks the movement of the motorbike 302 at a secondtime period and a third time period, respectively. This can beaccomplished, for example, by defining the location of the object, suchas the motorbike 302, in each frame of the video. Although only a singlehotspot 304 is defined for the shape of the motorbike 302, multiplehotspots can defined for the shape of the motorbike 302. For example,the shape of the motorbike can be divided into a back section where theback wheel is located, a middle section where the body of the motorbikeis located, and a front section where the front wheel is located. Theback section can be used for a first hotspot, the middle section can beused for a second hotspot, and the front section can be used for a thirdhotspot. Thus, a single motorcycle shape can be used for three separatehotspots. Conversely, two of the sections can correspond to a singlehotspot while the other section can correspond to a different hotspot.This allows the video producer to further customize the hotspotscovering the motorbike 302 so that a portion of the motorbike or all ofthe motorbike can correspond to one or more hotspots.

The hotspot definition tool 306 can be custom defined by the videoproducer such as in FIG. 4. However, the hotspot definition tool 306 canalso be completely or partially predefined. For example, the hotspotdefinition tool 306 can selected from a variety of predefined shapeswhich approximate a shape of the object such as a square, a circle, atriangle, a predefined motorbike shape, a predefined T-shirt shape, apredefined hat shape, a predefined pants shape, a predefined shoe shape,etc. The video producer can then use the predefined shape for thehotspot definition tool 306 to define the location of the object as partof a hotspot in the video file 300. The video producer can also selectthe predefined shape and then alter the predefined shape to fit theobject to be tagged either by increasing the size proportionally,increasing the size dis-proportionally, or altering some or all of ashape of the predefined shape.

In Step S308, for every hotspot defined by the video producer, theprocessor 202 can assign a unique hotspot identification code. Thehotspot identification code can be, for example, a numeric indicatorsuch as “0,” “1,” “2,” etc. The hotspot identification code can beunique for the video file in the second format. For example, no hotspotin the video file 300 in the second format will have the same hotspotidentification code. The hotspot identification code can also be uniquefor not only the current video file in the second format, but also allother video files in the second format and/or supplemented videos. Theunique hotspot identification code can be stored in the cache 204 and/orthe memory 206.

In Step S310, the video producer inputs mouse rollover information foreach hotspot during playback of the supplemented video. The mouserollover information includes information to be displayed when a videoviewer places a mouse cursor over the hotspot. The mouse rolloverinformation can be stored in the cache 204 and/or the memory 206. InStep S312, the video producer inputs click information for each hotspotduring playback of the supplemented video. The click informationincludes information on what action to perform when the video viewerclicks on the hotspot with the mouse cursor. The click information canbe stored in the cache 204 and/or the memory 206.

In Step S314, the video producer inputs click display information foreach hotspot during playback of the supplemented video. The clickdisplay information includes information to display if the clickinformation indicates that information should be displayed. The displayinformation can be stored in the cache 204 and/or the memory 206. Theclick display information can include, for example, informationregarding the object that has a corresponding defined hotspot, adescription of the object that has a corresponding defined hotspot, arating of the object that has a corresponding defined hotspot, a Website related to the object that has a corresponding defined hotspot, anobject related to the object that has a corresponding defined hotspot,number of items in stock of the object that has a corresponding definedhotspot, a price of the object, a latest bid in an auction setting ofthe object that has a corresponding defined hotspot, a stock price ofthe object, a history of the object, any other information that can beuseful to a video viewer of the supplemented video, or any informationthat the video producer wishes to disclose to the video viewer.

The click information and the click display information can be inputtedby searching a database for the object that the click displayinformation corresponds to. For example, if the object is a motorbike,the video producer can search a potential hotspot object database forthe motorbike corresponding to the object. The video producer can viewthe results and select the appropriate motorbike. The click informationand/or click display information corresponding to the appropriatemotorbike will then be stored in the cache 204 and/or the memory 206.The potential hotspot object database can comprise information that thevideo producer has already uploaded to the potential hotspot objectdatabase, such as if the video producer was a store owner. This allowsthe video producer to upload click information and click displayinformation regarding the object which has corresponding definedhotspot, and which he desires to sell, only once for each type of objectinstead of multiple times. Subsequent supplemented videos which displaythe object can use the same click information and/or click displayinformation that was previously uploaded by the video producer. Forexample, if the store owner has 10 items of brand A motorbikes, 200items of brand B hats, and 300 items of brand C T-shirts, the storeowner only has to upload information three times, once for brand Amotorbikes, once for brand B hats, and once for brand C T-shirts. Thisreduces an amount of time the store owner spends in uploadinginformation regarding the products he has to sell.

The potential hotspot object database can also be a variety ofpre-stored information from one or more third parties which correspondsto the object that will be supplemented. If the video producer is not astore owner, this allows the video producer to use click informationand/or click display information that other people have already created.This reduces a burden for the video producer to have to locate and/orgenerate a picture of the object or other information which the videoproducer may wish to display with the object. This may be especiallybeneficial for video producers who are not store owners, who havelimited resources, and only have a few objects to sell. This could alsobe beneficial for small store owners with limited resources. By reducingthe barriers and costs to utilizing appropriate click information and/orclick display information, more objects could be sold from entities withlower amount of resources. Otherwise, the cost of inputting clickinformation and/or click display information could inhibit the videoproducer from defining hotspots associated with objects which may have alow profit margin or which may be owned by an entity without a largeamount of resource. Furthermore, in the above examples, the videoproducer may still update the click information and/or the click displayinformation as inventory, price, and/or shipment dates change over time.

For example, an individual motorbike owner may create a supplementedvideo regarding his modified motorbike in order to sell the modifiedmotorbike. However, the individual motorbike owner may not have accessto expensive resources such as an expensive digital camera or have thetime to produce pictures and/or descriptions for each component of themotorbike which will be the object of one or more hotspots. Furthermore,it may be difficult to produce pictures of certain components which areonly partially exposed. By allowing the individual motorbike owner totake advantage of pre-stored information, the individual motorbike ownercan simply select the desired pre-stored information corresponding tothe object without having to write a description or produce a picture.This can encourage individuals without great time or monetary resourcesto produce supplemented videos and allow the individual motorbike ownerto sell his motorbike.

The one or more third parties can be, for example, one or more storeowners, which have objects for sale that corresponds to the object whichwill have a corresponding defined hotspot. In this case, the videoproducer can have no objects he wants to sell, but instead wishes toallow view viewers who view the supplemented video to purchase theobjects in the supplemented video from a third party. Thus, for example,the individual motorbike owner with the modified motorbike may not wantto sell his motorbike. Instead, the individual motorbike owner may havea great deal of pride in his motorbike and want to show other peoplesome or all of the components that he has included in the motorbike.Alternatively, the individual motorbike owner may have a personal video,such as a home movie, in which he has performed a stunt, trip, and/ortrick with the motorbike. Such stunts, trips, and/or tricks may, forexample, display or accent a feature or attribute of the motorbike. Thefeature or attribute can be a feature or attribute that a producer orseller of the motorbike may want to emphasize or which the producer orseller of the motorbike may want publicized.

For example, if the video producer has a video of himself crashing themotorbike's front tire repeatedly into a tree to knock down the treewithout any damage to the motorbike's front tire, the producer or sellerof the motorbike's front tire may want to be associated with the videoto emphasize a toughness of the motorbike's front tire. Thus, theindividual motorbike owner can link the components which have acorresponding hotspot definition to stores which sell the component.This can also be economically beneficial to the individual motorbikeowner since he could receive revenue from the stores which sell thecomponent each time a video viewer purchases the component from theindividual motorbike owner's supplemented video as will be explainedlater.

The mouse rollover information can also be entered by the video producerin a similar fashion. Steps S306 to S314 can be repeated for as manyhotspots as the video producer desires to include in the supplementedvideo.

In Step S316, the processor 202 generates an extensible markup language(XML) file separate from the video file 300 as shown in FIG. 7. In FIG.7, the XML file 400 includes three objects, a motorbike, a T-shirt, anda cap. Furthermore, the XML, file 400 can include the click information402 and the mouse rollover information 404. The click information 402,for example, calls a JavaScript. The JavaScript can indicate the clickdisplay information to be displayed. Instead of the JavaScript, however,there can also be an instruction instructing the processor 202 to launcha Web site or perform other operations. For example, the store ownercould have a free promotional giveaway for a motorbike, but not for theT-shirt or the cap. The store owner can have the click informationindicate that the click display information related to the cap or theT-shirt be displayed when the video viewer clicks on the hotspotcorresponding to the cap or the hotspot corresponding to the T-shirt.However, the store owner can have the click information indicate that aWeb site, designed specifically towards the promotional giveaway for themotorbike, is launched when the view viewer clicks on the hotspotcorresponding to the motorbike. This allows the store owner to customizethe experience he wants the video file viewer to have when watching thesupplemented video.

The mouse rollover information 404 includes a description of the objectcorresponding to the hotspot that will be displayed when the mousecursor is over the hotspot. For example, when the mouse is over thehotspot for the motorbike, the caption will read “Motorbike.” Likewise,when the mouse is over the hotspot for the T-shirt, the caption willread “T-shirt,” and when the mouse is over the hotspot for the cap, thecaption will read “Cap.” Although the caption currently reads“Motorbike” for the motorbike object, it can also include otherinformation such as “Motorbike: $1,000 for a limited time only!” or“Motorbike: Winner of the best bike award!”

Furthermore, the caption is not limited to just text, but could alsodisplay an image by itself, or an image in conjunction with the text.The image, could be, for example, an image of the exact objectcorresponding to the hotspot, an image of the exact object correspondingto the hotspot in greater detail, an image of the same type of object asthe object corresponding to the hotspot, an image of an object relatedto the object corresponding to the hotspot, or any other type of imagethe video producer wishes the video viewer to see. For example, when themouse is over the hotspot for the motorbike, an image of the motorbikein a catalog could be displayed in addition to the text “motorbike.”Likewise, an image of the award can be displayed along with the text“Motorbike: Winner of the best bike award!”

Although an XML file is used, other files can be used, such as standardgeneralized markup language (SGML), extensible hypertext markup language(XHTML), or any other language which can contain information related tothe supplemented video.

In Step S318, the processor 202 generates an action script 500 separatefrom the video file 300 as seen in FIG. 8. The action script 500 canalso include other commands not shown, but which may be appropriate forthe supplemented video. The action script 500 includes a section 502which retrieves the appropriate caption to be displayed during a mouserollover. The section 502 uses a caption location information toindicate which caption in the XML file 400 to use on a mouse rollover.In FIG. 8, the unique hotspot identification code is also the captionlocation information.

For example, if the unique hotspot identification code is 0, the captionlocation information is also 0. This indicates that the first line isused for the caption. Thus, the caption “Motorbike” will be displayed onthe mouse rollover. If the unique hotspot identification code is 1, thecaption location information is 1. Thus, the second line is used for thecaption and the caption will be “T-shirt.” If the unique hotspotidentification code is 2, the caption location information is 2. Thus,the third line is used for the caption and the caption will be “Cap.”

However, the unique hotspot identification code does not need to beequivalent to the caption location. For example, the unique hotspotidentification code assigned to a first hotspot can XXX-XXX with acorresponding caption location information of 0. The unique hotspotidentification code assigned to a second hotspot can YYY-YYY with acorresponding caption location information of 1. The unique hotspotidentification code assigned to a third hotspot can ZZZ-ZZZ with acorresponding caption location information of 2. In the above example,the unique hotspot identification code can translated to the appropriatecaption location information. This can be accomplished, for example,using a lookup table. For example, if the processor 202 detects ahotspot with the unique hotspot identification code of XXX-XXX, theprocessor 202 can translate the unique hotspot identification code, to 0using the lookup table, and access the first line of the XML file todetermine the appropriate caption to display on the display 214.

In Step S320, the video producer indicates that the supplemented videoshould be generated. This can be accomplished, for example, by clickingon a button, such as a button labeled GENERATE SUPPLEMENTED VIDEO. Thevideo producer can also indicate that the supplemented video should begenerated through one or more of a variety of keyboard buttons beingdepressed.

In Step S322, hotspot information regarding the location of each hotspotand the duration of each hotspot is embedded into the video file 300. InStep S324, information regarding the action script and the XML file areembedded into the video file 300 so that the supplemented video which isgenerated has an indication of which action file and/or XML file toaccess during playback of the supplemented video. In Step S326, thesupplemented video is generated. During the generation of thesupplemented video, the hotspots can also be made invisible such thatthey are not visible to the viewer of the supplemented video, eventhough a mouse rollover on the hotspot may trigger an action.

Because the XML file 400 and the action script 400 are separate from thesupplemented video, a playback performance of the supplemented video isimproved and the resources necessary to playback the supplemented videoare reduced. Furthermore, since the XML file 400 is separate from thesupplemented video, the XML file 400 can be modified even after thesupplemented video has been generated. Thus, for example, the clickinformation 402 and/or the click display information can be alteredafter the supplemented video has been generated. This allows replacementproducts to be shown or updated pictures to be displayed. This is alsoparticularly advantageous if the original object that is supplemented isout of stock. When the object is out of stock, one or more replacementproducts can be shown instead.

The present invention may also be useful where there is a price changein the object or a change in description of the object. This is alsoadvantageous when there is a limited time sale of the object. Forexample, if the motorbike 302 is on sale for two weeks, the videoproducer would only need to edit the XML file 400 to change the clickdisplay information when the sale begins and after the sale ends.Conventionally, the video producer would have had to re-access theoriginal video file, re-access the original file indicating any clickdisplay information, re-edit both files, and re-generate thesupplemented video. The conventional process can be time consuming andinefficient, whereas the present invention allows the video producer toeasily edit a reduced amount of files to change information regardingthe object. This allows the video producer to be more responsiveregarding the object and produce a more accurate experience for thevideo viewer.

The present invention also allows the supplemented video to be used fora variety of purposes in addition to an online store, such as for aninstructional how-to-guide to perform some sort of repair. In such acase, the caption, the click information 402 and/or the click displayinformation can display information regarding the object correspondingto the hotspot which may be beneficial in performing the repair, such asschematics of the object. The click information 402 and/or the clickdisplay information could also display other books, manuals, ordescriptions which may be particularly useful for the video viewer inperforming the repair.

The present invention can also be used as an educational video, such asa video of a historic site. For example, the supplemented video could bea video of a room within a museum. The hotspots could correspond to oneor more of the paintings. In such a case, the caption, the clickinformation 402 and/or the click display information could displayinformation regarding where to purchase replicas of paintings, moreinformation regarding the artists, or even vacation packages to themuseum.

The present invention can also be used in a lecture video, such as alecture for a class given by a professor. The hotspots could correspondto equations written on a board, or even objects that the professor isholding. In such a case, the caption, the click information 402 and/orthe click display information could display information regarding otherbooks by the professor, books related to the object, or any otherinformation which deemed important and/or necessary by the professor orvideo producer.

The present invention can also be used for an auction Web site, in whichthe objects have a corresponding hotspot are up for bid. In such a case,the caption, the click information 402 and/or the click displayinformation could display information regarding the current price of theobject, prices of similar objects, historical prices of the object, theminimum bid for the object, whether the object is available or hasalready been sold, the start time of the auction, the end time of theauction, the duration of the auction, or any other information whichwould be useful in an auction.

Furthermore, the mouse rollover indicating the caption that should bedisplayed can be altered after the supplemented video has beengenerated. This is particularly advantageous when new models of theobject are released and/or the object has a new description that can beadded to it. The new description can include, for example, anotification that the object has won a new award. Furthermore, if thereare mistakes in the caption which are noticed after the supplementedvideo is generated, the caption can easily be fixed by modifying onlythe mouse rollover information without requiring the supplemented videoto be re-generated. The alteration of the caption is also beneficialwhen the supplemented video is to be played to different audiences. Forexample, if a supplemented snowboarding video is to be played for a maleaudience, a certain type of description and/or font or text color can beused. However, if the supplemented snowboarding video is to be playedfor a female audience, a different description and/or font or text colorcan be used. Likewise if the supplemented snowboarding video is to beplayed for an English speaking crowd, English text can be used, whereasif the supplemented snowboarding video is to be played for a Spanishspeaking crowd, Spanish text can be used. This allows the video producerto customize the supplemented video towards his audience and produce abetter video viewing experience for his audience.

In one embodiment, the present invention displays a supplemented videoas shown in FIG. 9. The supplemented video creates a seamlessinteractive experience for the video viewer which allows the videoviewer to learn more about certain objects in the supplemented video oractually purchase certain objects in the supplemented video. Forexample, the video viewer can watch the supplemented video and purchaseobjects shown in the supplemented video while the supplemented video isplaying. Therefore, the video viewer does not need to interrupt hisviewing experience in order to purchase the object or wait until the endof the video in order to purchase the object.

In Step S402, the video viewer inputs information to play thesupplemented video. This can be accomplished, for example, by clickingon a PLAY button or other similarly labeled button. In Step S404, theprocessor 202 locates the action script 500 and the XML file 400corresponding to the supplemented video. This can be accomplished, forexample, by reading information embedded in the supplemented video,which indicate the action script and/or the XML file that corresponds tothe supplemented video. In Step S406, the processor 202 plays thesupplemented video using the corresponding action script 500 and thecorresponding XML file 400.

The processor 202 can instruct the display 214 to display thesupplemented video during playback of the supplemented video as shown inFIG. 11. The supplemented video 650 is displayed in a video displayframe 600 in the display 214. The video display frame 600 is composed ofa first location 602, a second location 604, and a third location 606.

The first location 602 displays the supplemented video. The firstlocation 602 displays the supplemented video 650, an ON/OFF button 626,and a mouse cursor 622. Although the mouse cursor 622 is currentlyoverlayed on top of the supplemented video 650, the mouse cursor 622 cantraverse anywhere in the video display frame 600. In the supplementedvideo 650, the motorbike 302 is tagged with a hotspot. The ON/OFF button626 allows a video viewer to turn ON or OFF the hotspots in thesupplemented video 650. When the ON/OFF button is set to ON, thehotspots are active and when the mouse cursor 622 is over the hotspot,then the caption corresponding to the hotspot is displayed. Furthermore,the mouse cursor 622 can click on the hotspot to display the clickdisplay information corresponding to the hotspot.

However, when the ON/OFF button is set to OFF, the hotspots are inactiveand no action occurs when the mouse cursor 622 is over the hotspot orwhen the mouse cursor 622 clicks on the hotspot. The video viewer canclick on the ON/OFF button at any time, even during the middle of theplayback of the supplemented video. The ON/OFF button allows the videoviewer to customize his own experience when viewing the supplementedvideo. For example, the video producer may create an amazing video of asnowboarder performing a trick. The video viewer may not wish to havethe hotspots appear when his mouse cursor is over the supplementedvideo. For example, the video viewer may want to use his mouse cursor tohelp him visually track a height the snowboarder reaches when heperforms his trick and does not want a caption to appear in case thevideo viewer accidentally places his mouse cursor over the snowboarder.

The ON/OFF button could also be used to customize selection of whichhotspots to view. For example, in one embodiment, there is an ON/OFFbutton corresponding to each category of objects that have correspondinghotspots. For example, a supplemented motorbike video may have twocategories, MOTORBIKE and CLOTHING with an ON/OFF button associated witheach category. If the video viewer selects the OFF button for theCLOTHING category, but selects the ON button for the MOTORBIKE categoryonly the hotspots corresponding to MOTORBIKE objects will be active.Likewise, if the video viewer selects the ON button for the CLOTHINGcategory, but selects the OFF button for the MOTORBIKE category, onlythe hotspots corresponding to CLOTHING objects will be active. If thevideo viewer selects the OFF button for both categories, no hotspotswill be displayed. Again, this allows the video viewer to customize hisexperience and select which hotspots he wishes to interact with.

The second location 602 displays the click display information, whichcan be retrieved by accessing the XML file 400. The click displayinformation includes an image 608 of an object that has a correspondinghotspot, a rating system 624 of the object that has a correspondinghotspot, and/or a description 610 of the object. The description 610 ofthe object can include, for example, a wide variety of information suchas a written description of the object and/or a price of the object.Although the click display information display information includesinformation regarding the object that has a corresponding hotspot, theclick display information can also display information regarding otherobjects that may be related to the object that has a correspondinghotspot. The click display information could also display informationsuch as industry information related to the object, consumer ratings ofthe object, a current auction price of the object, a historical salesprice of the object, reports regarding the object, or any other type ofinformation which the video producer believes may be useful to the videoviewer.

The third location 606 displays a list 612 of objects that havecorresponding hotspots, which can be purchased. The list 612 can begenerated by analyzing the click information and/or click displayinformation in the XML file 400. When the video viewer clicks on anobject in the list 612, the click display information for thecorresponding object can also be displayed in the second location 602 asif the video viewer had clicked on a hotspot. The third location 606also displays a BUY button 614. When the video viewer clicks on the BUYbutton using the mouse cursor 622, the processor 202 can add the objectdisplayed in the second location 606 to a SHOPPING CART, which will bedescribed below. Although a BUY button 614 is depicted, one or morebuttons and/or links can be used in conjunction or instead of the BUYbutton. The one or more buttons and/or links can allow more informationto be displayed in the second location 602 and/or the third location604. In addition the one or more buttons and/or links could launch a newbrowser to display more information. The one or more buttons and/orlinks could be connected to another Web site.

In the supplemented video 650, a cap 630, a T-shirt 632, and themotorbike 302 have hotspots corresponding to each of the objects. InFIGS. 11-14, each of the hotspots are active, but are invisible to thevideo viewer. In one embodiment, a shaded hotspot is visible on a mouserollover of the hotspot. In another embodiment, an outline of thehotspot is visible on a mouse rollover of the hotspot. In anotherembodiment, all or a portion of each of the hotspots are visible evenwithout a mouse rollover. In yet another embodiment, all or a portion ofeach of the hotspots appears when a mouse rollover occurs on any of theobjects.

In still another embodiment, all or a portion of each of the hotspotsappears for a particular category when a mouse rollover occurs on any ofthe objects in that category. For example, if the video viewer placeshis mouse cursor over the cap 630, all clothing items with acorresponding hotspot would also be visible either as a shaded hotspotor an outline of the hotspot. In such a case, the hotspot for theT-shirt 632 would also be visible. The visibility of the hotspots canhelp the video viewer to determine where the hotspots are located sothat the video viewer can more easily place his mouse cursor over thehotspots. This can be advantageous since some of the hotspots maycorrespond to a relatively small object and thus a video viewer wouldhave to be extremely precise in his mouse cursor movements in order toplace his mouse cursor over the hotspot or to click on the hotspot. Theclick display information displayed corresponds to the cap 630 because avideo viewer has clicked on the hotspot of the cap 630, the video viewerhas clicked on the listing of the cap 630 in the list 612, or the cap630 is a default click display information that is displayed since it isthe first object in the list 612.

During playback of the supplemented video in step S406, the processor202 can execute a loop while the supplemented video is being played, asshown in FIG. 10. The processor can exit the loop disclosed in FIG. 10when the processor ceases playing the supplemented video. In Step S502,the processor 202 determines whether there is a mouse rollover over ahotspot in the supplemented video. A mouse rollover occurs when themouse cursor is over the hotspot in the supplemented video. If there isno mouse rollover over a hotspot in the supplemented video, theprocessor 202 proceeds to step S516 which will be described below. Forexample, as seen in FIG. 11, the motorbike 302, the cap 630, and theT-shirt 632 have hotspots corresponding to each of the objects. However,the mouse cursor 622 is not over any of the hotspots and therefore thereis no caption that is displayed.

When the processor 202 determines that a mouse cursor is over a hotspotin the supplemented video, the processor 202 accesses the XML file 400in Step S504. Based on the XML file 400 and the unique hotspotidentification code assigned to the hotspot, the processor 202 displaysa caption of a corresponding hotspot, all hotspots, or a select numberof hotspots such as those related to the object in the correspondinghotspot. The caption can be displayed in a location adjacent the hotspoton the display 214 or overlayed on the object corresponding to thehotspot. The caption can also be displayed any other desired ordesignated location, or even on a separate screen. For example, as seenin FIG. 12, the mouse cursor 622 is over the hotspot for the motorbike302. Thus, a caption 628 for the motorbike 302 is retrieved from the XMLfile 400 and displayed adjacent the motorbike 302.

The caption 628 can move along with the motorbike 302 as the motorbike302 switches position in the supplemented video. This movement can beconstant, or it can be periodic. For example, the caption can be apredetermined distance from a certain location in the motorbike 302, orthe caption can be at a certain location until the motorbike has moved acertain distance. Then the location of the caption will be readjusted inthe supplemented video.

In Step S508, the processor 202 determines if the video viewer clickedon a hotspot. If the video viewer has not clicked on the hotspot, theprocessor 202 proceeds to Step S516, which will be described below. Whenthe processor 202 determines that the video viewer has clicked on thehotspot in the supplemented video, the processor 202 accesses the XMLfile in Step S510. Based on the XML file and the unique hotspotidentification code assigned to the hotspot, the processor 202 displaysclick display information corresponding to the hotspot in the secondlocation 604 of the display 214 in Step S512. This can be seen in FIG.13. Since the video viewer has clicked on the hotspot for the motorbike302, the click display information for the motorbike 302 is nowdisplayed in the second location 604.

In one embodiment, once the video viewer has interacted with themotorbike 302, an indication is shown that the video viewer has alreadyinteracted with the motorbike 302. For example, whereas the hotspot waspreviously invisible to the video viewer, once the video viewer clickson the hotspot, the hotspot can be shaded. Alternatively, whereas thehotspot was previously invisible to the video viewer, once the videoviewer clicks on the hotspot, an outline of the hotspot can bedisplayed. This is beneficial in allowing the video viewer to keep trackof which hotspots the video viewer has already interacted with eitherthrough a mouse rollover, a mouse click, or any other type ofinteraction.

In Step S514, the processor 202 links the BUY button or other similarbutton to the click display information. Thus, if the video viewerclicks on the BUY button, he will add the object depicted in the clickdisplay information to his shopping cart as opposed to any other objectlisted in the list 612. In FIG. 12, the BUY button is associated withthe click display information for the cap 630. However, in FIG. 13, theBUY button is associated with the click display information for themotorbike 632.

In Step S516, the processor 202 determines whether the video viewer hasclicked on the BUY button. If the video viewer has not clicked on theBUY button, then the processor 202 proceeds to Step S520 which will bedescribed below. If, however, the processor 202 determines that thevideo viewer has clicked on the BUY button, the processor 202 adds theobject displayed in the click display information to a shopping cart634. As seen in FIG. 14, once the video viewer clicks on the BUY button614 in FIG. 13, the object corresponding to the motorbike 302, which inthis case is the motorbike 302 object itself, is added to the shoppingcart 634.

In one embodiment, the video viewer could have a pre-registered accountin which the video viewer has already logged in or authenticated theaccount, the video viewer could use an immediate buy option. In theimmediate buy option, the video viewer simply clicks on the BUY button614 to actually purchase the object without having to add the object tothe shopping cart. In such a case, the pre-registered account couldinclude payment and shipping information. The BUY button 614 could alsoindicate a confirmation screen before the actual purchase occurs toensure that the video viewer actually intends to purchase the object.The pre-registered account can be encrypted for safety of the videoviewer and the contents of the pre-registered account.

In both cases, when the video viewer is clicking or has clicked on theBUY button 614, the supplemented video continues to play. This reducesany interruptions to the video viewing experience for the video viewer.The video viewer does not have to interrupt his video viewing experiencein order to find the product, enter his payment information, and/orenter his shipping information or wait until the end of the supplementedvideo in order to search for the objects described in the supplementedvideo in order to purchase the objects.

The shopping cart 634 replaces the list 612 in the third location 606.However, the shopping cart 634 can also be displayed in differentlocation aside from the third location 606. The shopping cart 634 canalso be displayed as a popup. The shopping cart includes a CHECKOUTbutton 620 and a CONTINUE SHOPPING button 616. Even when the object isadded to the shopping cart 634, the supplemented video 650 can continueto play. Advantageously, this prevents interruptions in the supplementedvideo as the video viewer may want to continue viewing the supplementedvideo for other objects to purchase. If the video viewer clicks on theCONTINUE SHOPPING button 616, the list 612 can replace the shopping cart634. Alternatively, if the shopping cart 634 is displayed as a popup,then the popup can be closed.

Furthermore as seen in FIG. 14, since the mouse cursor 622 is not on thehotspot of the motorbike 302 anymore, the caption is not visibleanymore. In one embodiment, the caption can remain visible adjacent tothe motorbike 302 for a predetermined period of time after the mousecursor 622 is not on the hotspot. In another embodiment, the caption canremain visible once the video viewer has placed his mouse cursor 622over the motorbike 302, even after the video viewer has removed themouse cursor 622 over the motorbike 302.

In Step S520, the processor 202 determines whether the video viewer hasclicked on the CHECKOUT button 620 or other similar button. If the videoviewer has not clicked on the CHECKOUT button 620, then the processor202 repeats Steps S502 to Steps S502 until the processor determines thatthe supplemented video has finished playing. If, however, the videoviewer has clicked on the CHECKOUT button 620, then the processor 202generates a single payment interface 700 for multiple stores as shown inFIG. 15. The single payment interface 700 can displayed on a new page orit can displayed anywhere in the video display frame 600. The singlepayment interface can also be displayed anywhere in the display 214.

The single payment interface 700 includes an account section 702 and asummary of the shopping cart 634. The account section 702 allows thevideo viewer to access the video viewer's pre-registered accountincluding the video viewer's account information. To retrieve theaccount information, the single payment interface 700 can include asection to enter an e-mail address associated with the account and apassword associated with the account. The e-mail address and thepassword can be used to authenticate the video viewer's pre-registeredaccount to access the account information.

The account information can store, for example, the video viewer'spersonal information such as payment methods, shipping address, billingaddress, e-mail, phone number, etc. The payment method can include, forexample, credit cards or checking accounts associated with the videoviewer's account. The single payment interface 700 can allow the videoviewer to pay for the objects in the shopping cart or in the immediatebuy option using the payment methods stored in the account information.

The single payment interface provides a single common interface for thevideo viewer when he wants to purchase an object. Thus, if the videoviewer purchases an object from a first store, he will encounter thesame interface as if the video viewer purchases an object from a secondstore. In addition, even if the objects in the video viewer's shoppingcarts are from multiple different stores, the single payment interfacestill provides a single common interface for the video viewer. Thisreduces a number of accounts the video viewer must create and/or accessin order to purchase objects since the video viewer can now access justa single account to purchase multiple objects from different stores.This feature of the present invention also enhances the security of thevideo viewer's personal information since the video viewer can reducethe number of accounts he has and also his potential exposure due to theinformation being stored in the many different accounts.

Although the single payment interface 700 includes an account section702, the single payment interface 700 can also present an option for thevideo viewer to purchase the objects without accessing a pre-existingaccount. Instead, the single payment interface 700 can accept shippingand billing information in order to pay for the objects in the shoppingcart 634. The video viewer therefore only has to provide the shippingand billing information once, even when there are multiple objects fromdifferent stores in the shopping cart 634. This simplifies the shoppingexperience for the video viewer and also provides more security for thevideo viewer since his shipping and billing information will betransmitted a fewer amount of times than if the video viewer had toinput his shipping and billing information for each of the differentstores. Furthermore, any transactions can be encrypted and also thestorage of the account information can also be encrypted.

In one embodiment, the present invention generates a widget of asupplemented video as shown in FIG. 16. The widget can be, for example,a video widget. The widget allows the supplemented video to be shared inan easy manner without the necessity for special software or server toaccess the XML file or the action script. This can be beneficial wherethe supplemented video is a video which the video producers havefinalized and now wants to become a viral video.

In Step S602, a video producer inputs information to generate a widgetof a supplemented video. This can be accomplished, for example, byclicking on a GENERATE WIDGET button or other similar button and alsoinputting a location of the supplemented video in the memory 206. InStep S604, the processor 202 accesses the supplemented video anddetermines the action script 500 and the XML file 400 which correspondto the supplemented video. The processor 202 then accesses the actionscript 500 and the XML file 400 which corresponds to the supplementedvideo. In step S606, the processor 202 integrates the action script 500and the XML file 400 into the supplemented video to produce a widget.

The widget can be a stand alone application which can play thesupplemented video. Thus, the widget no longer needs to access theaction script 500 or the XML file 400. Thus, the widget can be uploadedto a Web site which can play videos in the second video format. There isno need for the Web site to be configured to specifically playsupplemented videos. The Web site, for example, can be a socialnetworking Web site, a tabloid Web site, a news Web site, a private Website, a public Web site, a file sharing site, or any other appropriatesite for distribution of the supplemented video. Furthermore, thesupplemented video can also be stored and/or transmitted through amachine readable medium, file sharing sites, e-mail, or any other filestorage and/or transmission means.

In another embodiment, the present invention generates revenue based onthe supplemented video as shown in FIG. 17. Since the supplemented videois interactive and objects in the video can be sold or be publicizedthrough the supplemented video, the present invention allows revenue tobe generated for such activity. The revenue generation could enticevideo producers to produce supplemented videos containing certainobjects in the supplemented video. For example, if the video producerknows he will receive revenue for every purchase of a brand C T-shirt,he will be enticed to produce supplemented videos with brand C T-shirtsas hotspots.

Furthermore, it could also entice video producers to include hotspots ofobjects in the supplemented video. Likewise, if the video producerproduces a video with many products from many brands and he knows hewill receive revenue for every purchase of a brand C T-shirt, the videoproducer will be more likely to define a hotspot for the brand C T-shirtin his supplemented video. By enticing video producers to producesupplemented videos with the object and/or define hotspots of the objectin the supplemented videos, the present invention allows increases themarketing potential of the object. Thus, the present invention providesa strong and novel method of marketing an object.

As seen in FIG. 17, in Step S702, a video producer uploads asupplemented video to the server 102. The server 102 can be owned, forexample, by a server owner. The video producer can be, for example, anowner of the supplemented video, an agent of the owner of thesupplemented video, or any other person authorized to upload thesupplemented video.

In Step S704, a video viewer indicates that the supplemented video to beplayed. The video viewer can be, for example, a video file viewer. Inresponse to the indication, the processor 202 plays the supplementedvideo using the display 214. In Step S706, when the video viewer putshis mouse cursor over a hotspot, the processor 202 displays informationregarding the hotspot in the display 214. The processor 202 thendetermines if the video viewer clicks on the hotspot. If the videoviewer clicks on the hotspot, then the processor 202 generates revenuefor the server owner in Step S708. Furthermore, the processor 202 canalso generate revenue for the video producer in Step S710.

The processor 202 also determines if the video viewer clicks on the BUYbutton. If the video viewer clicks on the BUY button, the processor 202generates revenue for the server owner in step S712 and for the videoproducer in Step S714. The processor 202 also determines if the videoviewer has completed a purchase. The purchase can be completed duringthe playback of the supplemented video or after the completion of theplayback of the supplemented video. If the video viewer has completed apurchase, the processor 202 generates revenue to the server owner inStep S716 and to the video producer in Step S718. In Step S720, theprocessor 202 generates a revenue report based on the revenue generated.The revenue report can be based on, for example, the revenue generatedfor the video producer and/or the server owner.

In one embodiment, the present invention is a method for displayingadvertisements during the playback of the supplemented video, as shownin FIG. 18. The present invention allows for a more focused and targeteddisplay of advertisements. The present invention allows theadvertisement to be selected based on the hotspot. Whereas previousadvertisement generation may be based on a general concept of the video,the present invention allows the advertisement to be targeted not onlytowards the general concept of the video but also the specific objectswith corresponding hotspots in the video. Furthermore by using the XMLfile, the advertisement generation is simplified and can be automated.

The advertisement that is displayed can trigger subsequent directedadvertisements based upon rollover or click patterns of the videoviewer. The advertisement can also trigger follow up communications suchas a follow up e-mail, direct mailing, and/or phone calls. Thus, thepresent invention also allows a highly customizable advertisementgeneration through product placement, banner advertisements, pop-ups,etc.

In Step S802, a video producer uploads a supplemented video to theserver 102, which can be owned by a server owner. The video producer canbe, for example, an owner of the supplemented video, an agent of theowner of the supplemented video, or any other person authorized toupload the supplemented video.

In Step S804, the processor 202 plays the supplemented video using thedisplay 214. The processor 202 locates the XML file associated with thesupplemented video in the memory 206. The processor 202 scans the XMLfile associated with the supplemented video in Step S806. The scanningof the XML file can be performed immediately before the playback of thesupplemented video or anytime before the playback of the supplementedvideo. For example, the XML file can periodically scanned before theplayback of the supplemented video. Based on the scanning of the XMLfile, the processor 202 generates a list of advertisements for one ormore hotspots in Step S808. During playback of the supplemented video,the processor 202 searches for advertisements corresponding to thehotspots based on the generated list of advertisements in Step S810.

In Step S812, the processor 202 displays any advertisementscorresponding to the hotspot using the display 214. In Step S814, theprocessor 202 generates revenue for the video producer and/or the serverowner based on the display of the advertisement corresponding to thehotspot. The processor 202 can also generate a bill or amount due for anowner of the advertisement based on an amount of times the advertisementis displayed or its location within the supplemented video or thedisplay 214. The processor 202 also determines whether the video viewerhas clicked on the advertisement. If the video viewer has clicked on theadvertisement, the processor 202 generates revenue for the videoproducer and/or the server owner in Step S816. In Step S818, theprocessor 202 generates a revenue report based on the revenue generated.The revenue report can be based on, for example, the revenue generatedfor the video producer and/or the server owner. The processor 202 canalso generate a bill or amount due for an owner of the advertisementbased on an amount of times the advertisement is clicked. The revenuereport could also include the bill or amount due for the owner of theadvertisement.

Advantageously with the present invention, the advertisement appears ina more targeted manner. Whereas conventional advertisements may be basedon the overall video, the present invention allows the advertisements tobe focused to the specific product. For example, in a motorbike videowhere the rider performs several tricks on several motorbikes, aconventional advertising system may only display a single advertisementfor a single motorbike. However, with the present invention, theadvertising system of the present invention can display advertisementsfor each motorbike as the rider is using each motorbike. Furthermore, ifthe rider is wearing a T-shirt and a cap, the advertisements for theT-shirt and the cap can be displayed simultaneously with theadvertisement for one of the motorbikes. This provides greaterflexibility with respect to advertisements and allows the advertisementsto be more focused on the object that is being displayed in thesupplemented video.

In another embodiment, the present invention can generate a videoadvertisement as shown in FIG. 19. With the use of the XML file, theclick information, click display information, and/or caption storedtherein, the present invention provides a more targeted method forselecting video advertisements to be displayed. Since the clickinformation, click display information, and/or caption indicateinformation regarding the objects which have corresponding hotspots,they provide a greater indication of the environment in which the videoviewer will be experiencing the supplemented video. For example, if asupplemented video will have hotspots corresponding to a brand Amotorbike, a brand B cap, and a brand C T-shirt, the video advertisementcould be targeted towards the brand B cap instead of any generic cap.Furthermore, if the supplemented video is about a motorbike competitionwith lots of tricks, but most of the hotspots are directed towardsT-shirts, the video advertisement could be selected to be about T-shirtssince the video viewer will have much more interaction with T-shirtsthan motorbikes.

In Step S902, a video producer uploads a supplemented video to theserver 102, which can be owned by a server owner. The video producer canbe, for example, an owner of the supplemented video, an agent of theowner of the supplemented video, or any other person authorized toupload the supplemented video.

In Step S904, the processor 202 begins a process of playing thesupplemented video using the display 214. The processor 202 locates theXML file associated with the supplemented video in the memory 206. Theprocessor 202 scans the XML file associated with the supplemented videoin Step S906. The scanning of the XML file can be performed immediatelybefore the playback of the supplemented video or anytime before theplayback of the supplemented video. For example, the XML file canperiodically scanned before the playback of the supplemented video.Based on the scanning of the XML file, the processor 202 generates anappropriate video advertisement to be played prior to playing thesupplemented video in Step S908.

Advantageously, by scanning the XML file immediately before the playbackof the supplemented video, the latest XML file can be scanned. Thisensures that the latest description of the objects are searched, sincethe XML file can be altered after the supplemented video has beengenerated. Furthermore, by scanning the XML file periodically before theplayback of the supplemented video, the appropriate video advertisementcan generated before the video viewer indicates that he wants to play onthe supplemented video. This can allow the appropriate videoadvertisement to be immediately loaded, reducing a strain on theresources available and/or also allowing the supplemented video to bebuffered more efficiently. A combination of periodically scanning theXML file and scanning the XML file immediately before the playback ofthe supplemented video can also be employed.

In Step S910, the processor 202 displays the appropriate videoadvertisement prior to playing the supplemented video. In Step S912, theprocessor 202 generates revenue for the server owner and/or the videoproducer each time the video advertisement is played. In Step S914, theprocessor 202 generates a revenue report based on the revenue generated.The revenue report can be based on, for example, the revenue generatedfor the video producer and/or the server owner. Likewise, the processor202 can also generate a bill or amount due for an owner of the videoadvertisement based on an amount of times the video advertisement isdisplayed. The revenue report could also include the bill or amount duefor the owner of the advertisement.

In one embodiment, the present invention is a marketplace 800 as shownin FIG. 20, which can be located on the server 102. The presentinvention allows video viewers to make a more informed decision whenpurchasing objects and thus can encourage video viewers to purchaseobjects which are beneficial to them and to refrain from purchasingobjects which do not the video viewer's specifications for an object.The present invention allows video viewers to easily find objects topurchase and also allow the video viewers to find supplemented videoscontaining hotspots corresponding to the objects. This allows the videoviewer to make a more informed decision when purchasing the object. Thiscould also be advantageous for the video producer if the video produceris a store owner because many video viewers may not purchase an objectwithout seeing the object in action such as in a supplemented video.Furthermore, if the video viewer sees the object in action, the videoviewer could ultimately decide to not purchase the object because itdoes not fit the video viewer's requirements for the object. This isstill beneficial to the store owner because it could reduce dissatisfiedcustomers and ultimately reduce negative feedback and/or returns.

The marketplace 800 is similar to the electronic device 200, except thatthe marketplace 800 further includes a search unit 816 and a browse unit818. The search unit 816 can search the memory for the search term anddisplay results based on the search, which will be described more fullybelow. The browse unit 818 allows a video viewer to browse the memoryfor a particular supplemented video and/or object that the video viewerwishes to purchase or view. In the marketplace 800, the memory 206 canstore a supplemented video, an action script associated with thesupplemented video, an XML file associated with the supplemented video,click display info ration, and any other type of information that isassociated with the supplemented video.

The marketplace 800 can also formulate a marketplace interface 850 inFIG. 21 which can be seen on a client 100. As seen in FIG. 21, themarketplace interface 850 includes a search section 852, a browsesection 854, and a multipurpose section 856. The search section 852accepts a search term from the video viewer and defines a search querybased on the search term which will be described more fully below. Thebrowse section 854 allows the video viewer to browse through differentcategories to find the supplemented video the video viewer wishes toplay based on the supplemented video or the products havingcorresponding hotspots therein. When the video viewer selects acategory, the browse unit 818 formulates a search query based on thecategory to identify the supplemented videos which are associated withthe selected category. The multipurpose section 856 can list the searchresults when searching or list the categories and/or files availablewhen browsing. The multipurpose section 856 can also display the videodisplay frame 600 when the video viewer chooses to play a supplementedvideo.

In FIG. 22, the present invention includes a method to search amarketplace for an object that has a corresponding hotspot in asupplemented video using the search unit 816 and/or the processor 202.In Step S1002, a video viewer inputs a search term into the marketplace.The search unit 816 receives the search term in Step S1004. The searchterm can be a search term for an object. The search unit 816 thendefines a search query based on the search term. In Step S1006, thesearch unit 816 searches a set of XML files based on the search query toidentify supplemented videos including hotspots associated with thesearch term or supplemented videos including hotspots associated withthe object. The set of XML files can, for example, a set of XML filescurrently available. The set of XML files can also be a set of XML filesin a particular category.

Once the search term is located, the search unit 816 determines theaction script and the supplemented video associated with the XML file.In Step S1008, the search unit 816 analyzes the supplemented video andits corresponding action script and/or XML file to determine the timelocation of the search term. In Step S1010, the search unit 816generates a list of supplemented videos that have a hotspot of theobject that corresponds to the search term. In Step S1012, the searchunit 816 displays the search results using the display 214 and/or theprocessor 202.

The list of the supplemented videos can include the time location wherethe search term was found. This allows the video viewer to easilydetermine the time location in the supplemented video where the objectis displayed. With the present invention, the video viewer does not haveto watch all of the supplemented video, but instead can skip to theappropriate time in the supplemented video to view the object that he isinterested in. This can improve sales of the object since the videoviewer can watch view more objects in the same amount of time it wouldhave taken for him to view one complete supplemented video. Furthermore,the video viewer may be encouraged to view more objects since he willnot have to watch all of a supplemented video in order to view theobject of interest. Furthermore, since some objects may be obscure, thevideo viewer can now easily determine what time frame to look for theobject in the supplemented video. Optionally, the search unit 816 couldalso determine and provide a location in the display 214 where theobject will appear based on the hotspot associated with the object. Thiscould also improve an ability of the video viewer to identify the objectin the supplemented video.

In one embodiment, marketplace can also be used for electronic garagesales. In such an embodiment, the video producer generates asupplemented video including the objects that he wishes to sell. Thesecan be either new or used items. These could also be items that thevideo producer does not want anymore. This allows the video producer toeasily sell items since the video viewer will have a better knowledge ofthe items that the video producer is selling.

In another embodiment, the marketplace can be used to sell new items,overstock items, used items, second hand items, or any other types ofitems. The marketplace can also be used to hold auctions for such items.Thus, the marketplace can be an electronic marketplace to replace orsupplement a brick and mortar store.

In yet another embodiment, the marketplace can also be used to searchfor services in addition to products. For example, the marketplace canbe used to search supplemental videos which are how-to videos,educational videos, historic videos, repair service videos, etc. If thesupplemented videos are for services, for example, the marketplaceallows the video viewer to see samples of the service provider's work,such as a completed roof for roof repairs. Furthermore, the supplementedvideos could also detail a process to be completed for a roof repair.For example, in order to prepare a home owner for what to expect duringa roof repair of the home owner's home, a roofing contractor could havea supplemented video to show the home owner all of the exact steps thatwill be performed, including what his home and roof will look likebefore, during, and after the roof repairs. This can allow the homeowner to prepare for the roof repair process and move his automobilefrom a parked location close to the home, for example, if a large amountof working space is needed immediately adjacent the home.

In another embodiment the present invention is a method for generating areport regarding a popularity of an object as shown in FIG. 23. Sincethe present invention allows the video viewer to interact with thesupplemented video, the present invention allows for a more accuratedetermination of how popular an object is based on the interactions thevideo viewer has with the supplemented video.

In FIG. 23, the processor 202 generates data regarding an amount of timesupplemented videos containing a hotspot corresponding to the object hasbeen played in Step S1102. For example, if an object has a hotspotcorresponding to it in videos A, B, and C, then the processor 202 woulddetermine an amount of time the videos A, B, and C have been played.

In Step S1104, the processor 202 generates data regarding an amount oftime there is a mouse rollover of a hotspot corresponding to the object.For example, if there are 600 mouse rollovers of the hotspotcorresponding to the object in video A, 300 mouse rollovers of thehotspot corresponding to the object in video B, and 200 mouse rolloversof the hotspot corresponding to the object in the video C, then therewill 1,100 mouse rollovers for the object.

In Step S1106, the processor 202 generates data regarding an amount oftime there is a mouse click of a hotspot corresponding to the object.For example, if there are 1,000 mouse clicks of the hotspotcorresponding to the object in video A, 500 mouse clicks of the hotspotcorresponding to the object in video B, and 400 mouse clicks of thehotspot corresponding to the object in the video C, then there will be1,900 mouse clicks for the object.

In Step S1108, the processor 202 generates data regarding an amount oftime there is a purchase of the object. Thus, all purchases for theobject are aggregated. In Step S1110, the processor 202 generates areport regarding a popularity of the object using one or more of thedata regarding the amount of time supplemented videos containing thehotspot corresponding to the object have been played, data regarding theamount of time there is a mouse rollover of the hotspot corresponding tothe object, data regarding the amount of time there is a mouse click ofthe hotspot corresponding to the object, and data regarding the amountof time there is a purchase of the object.

The processor 202 could also generate data regarding a number of buysper mouse rollover, information regarding which Web site thesupplemented video was played on, debit versus credit card versus chargecard type of payment, payments made through which types of creditinstitutions, popularity of a particular advertisement, type ofcomputers of the video viewers, popularity of the object based on thepositioning, shape, size, color, shading, or outlining of the hotspot,or any other useful information. Furthermore, the processor 202 couldalso generate data regarding the video producers in addition to thevideo viewers. The report regarding a popularity of the object can bebroken down further by time, IP addresses, geographic location, gender,age, employment, income, or other demographical breakdowns.

The report regarding a popularity of the object can also be sold for afee. Furthermore, the report regarding a popularity of the object can beaggregated with other reports regarding a popularity of other objects.

The aggregated report can be used to generate other reports regardingthe type of objects that video viewers in a particular demographic areviewing or purchasing. In such a case, the reports can be broken down bytypes of objects, mouse rollovers, mouse clicks on hotspots, purchasing,etc. For example, the other reports can contain information regardingthe type of objects that video viewers in the 18-35 age range haveinteracted with respect to hotspots corresponding to the object, such asby placing the mouse cursor over the hotspot or clicking on the hotspot.The aggregated reports and/or the other reports can also be sold for afee.

While the specification has been disclosed in relation to the exemplaryand non-limiting embodiments provided herein, it is noted that theinventive principles are not limited to these embodiments and includeother permutations and deviations without departing from the spirit ofthe disclosure.

1. A method for generating a second video file, comprising: receiving afirst video file; receiving a definition of a hotspot; receiving captioninformation corresponding to the hotspot; storing the captioninformation in a first date storage area; adding the definition of thehotspot to the first video file to create a second video file; andstoring the second video file in a second data storage area. 2.-18.(canceled)